#ifndef VBO_H_
#define VBO_H_

#include "gl/glew.h"

class VBO
{
private:
	// VBO object Id 
	GLuint vertexVBOId;                   // ID of VBO for vertex arrays
	GLuint indexVBOId;                   // ID of VBO for indices
	GLuint normalVBOId;									// 
	GLuint colorVBOId;

	int numIndices;

	// data 
	GLfloat *vertices;
	GLfloat *normals;
	GLfloat *colors;
	GLuint *indices;
	
	GLuint createVBO(const void* data, int dataSize, GLenum target, GLenum usage);

public:
	VBO();
	void init(GLfloat* v, GLfloat* n, GLfloat* c, GLuint* i, int nv, int ni);
	void draw();
	~VBO();
};

#endif